home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / VISUALBA / PBWIZ19.ZIP / MINITERM.BAS < prev    next >
BASIC Source File  |  1994-03-01  |  3KB  |  96 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |         PBWIZ  Copyright (c) 1991-1993  Thomas G. Hanlin III         |
  4. '   |                      3544 E. Southern Ave. #104                      |
  5. '   |                            Mesa, AZ 85204                            |
  6. '   |                                                                      |
  7. '   |                      PowerBASIC Wizard's Library                     |
  8. '   |                                                                      |
  9. '   +----------------------------------------------------------------------+
  10.  
  11. ' This is another simple demo of the PBWiz routines.  It shows the telecomm
  12. ' routines in action.  Modem settings of 2400:N,8,1 are used.
  13.  
  14. ' Syntax:
  15. '   MINITERM [/COM1] [/COM2] [/COM3] [/COM4]
  16.  
  17.    $DIM ARRAY
  18.  
  19.    DECLARE FUNCTION TCInkey$ ()
  20.    DECLARE FUNCTION TCInkey0% ()
  21.    DECLARE FUNCTION TCInStat% ()
  22.    DECLARE SUB TCDone ()
  23.    DECLARE SUB TCDTR (BYVAL INTEGER)
  24.    DECLARE SUB TCInit (BYVAL INTEGER, INTEGER)
  25.    DECLARE SUB TCParms (STRING, BYVAL INTEGER, BYVAL INTEGER)
  26.    DECLARE SUB TCSpeed (BYVAL LONG)
  27.    DECLARE SUB TCWrite (STRING)
  28.  
  29.    $LINK "pbwiz.pbl"
  30.  
  31.    DEFINT A-Z
  32.  
  33.    Cmd$ = LTRIM$(RTRIM$(UCASE$(COMMAND$)))
  34.    IF ((LEN(Cmd$) = 0) OR INSTR(Cmd$, "/?")) THEN
  35.       PRINT "MINITERM: Telecommunications Demo for PBWiz by Thomas G. Hanlin III"
  36.       PRINT
  37.       PRINT "Syntax:"
  38.       PRINT "  MINITERM [/COM1] [/COM2] [/COM3] [/COM4]"
  39.       PRINT
  40.       PRINT "Use ALT-X to exit the demo."
  41.       END
  42.    END IF
  43.    IF INSTR(Cmd$, "/COM1") THEN
  44.       CPort = 1
  45.    ELSEIF INSTR(Cmd$, "/COM2") THEN
  46.       CPort = 2
  47.    ELSEIF INSTR(Cmd$, "/COM3") THEN
  48.       CPort = 3
  49.    ELSEIF INSTR(Cmd$, "/COM4") THEN
  50.       CPort = 4
  51.    ELSE
  52.       CPort = 1
  53.    END IF
  54.  
  55.    TCInit CPort, ErrCode
  56.    IF ErrCode THEN
  57.       PRINT "Telecomm init error: "; ErrCode
  58.       END
  59.    END IF
  60.    TCSpeed 2400&
  61.    TCParms "N", 8, 1
  62.  
  63.    AltX$ = CHR$(0) + CHR$(45)
  64.    CLS
  65.    PRINT "MiniTerminal on COM"; CHR$(48 + CPort);": press ALT-X to exit."
  66.    LOCATE 3, 1, 1
  67.  
  68.    DO
  69.       GOSUB HandleCharsFromModem
  70.       ch$ = INKEY$
  71.       IF LEN(ch$) = 1 THEN TCWrite ch$
  72.    LOOP UNTIL ch$ = AltX$
  73.  
  74.    TCDTR 0
  75.    TCDone
  76.    END
  77.  
  78. HandleCharsFromModem:
  79.    WHILE TCInstat
  80.       ch = TCInkey0%
  81.       IF ch > 31 THEN               ' display text chars
  82.           PRINT CHR$(ch);
  83.        ELSEIF ch = 13 THEN          ' emulate <CR>
  84.           LOCATE , 1
  85.        ELSEIF ch = 10 THEN          ' emulate <LF>
  86.           PRINT
  87.        ELSEIF ch = 8 THEN           ' emulate <BS>
  88.           IF POS(0) > 1 THEN
  89.              LOCATE , POS(0) - 1
  90.              PRINT " ";
  91.              LOCATE , POS(0) - 1
  92.           END IF
  93.        END IF
  94.     WEND
  95.     RETURN
  96.